<?php

/**
 * ECSHOP 礼品分类管理程序
*/

define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');
$exc = new exchange($ecs->table("gift_cat"), $db, 'cat_id', 'cat_name');

/* act操作项的初始化 */
if (empty($_REQUEST['act']))
{
    $_REQUEST['act'] = 'list';
}
else
{
    $_REQUEST['act'] = trim($_REQUEST['act']);
}

/*------------------------------------------------------ */
//-- 商品分类列表
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'list')
{
    /* 获取礼品分类列表 */
    $cat_list = get_gift_cat_list();

    /* 模板赋值 */
    $smarty->assign('ur_here',      $_LANG['gift_goods_cat']);
    $smarty->assign('action_link',  array('href' => 'gift_cat.php?act=add', 'text' => $_LANG['gift_goods_cat_add']));
    $smarty->assign('full_page',    1);

    $smarty->assign('cat_info',     $cat_list);

    /* 列表页面 */
    assign_query_info();
    $smarty->display('gift_cat_list.htm');
}

/*------------------------------------------------------ */
//-- 排序、分页、查询
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'query')
{
     $cat_list = get_gift_cat_list();
    $smarty->assign('cat_info',     $cat_list);

    make_json_result($smarty->fetch('gift_cat_list.htm'));
}
/*------------------------------------------------------ */
//-- 添加商品分类
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'add')
{
    /* 权限检查 */
    admin_priv('cat_manage');

    /* 模板赋值 */
    $smarty->assign('ur_here',      $_LANG['gift_goods_cat_add']);
    $smarty->assign('action_link',  array('href' => 'gift_cat.php?act=list', 'text' => $_LANG['gift_goods_cat_reutrn']));


    $smarty->assign('cat_select',   cat_list2(0, 0, true));
    $smarty->assign('form_act',     'insert');
    $smarty->assign('cat_info',     array('is_show' => 1));

    /* 显示页面 */
    assign_query_info();
    $smarty->display('gift_cat_info.htm');
}

/*------------------------------------------------------ */
//-- 商品分类添加时的处理
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'insert')
{
    /* 权限检查 */
    admin_priv('cat_manage');

    /* 初始化变量 */
    $cat['cat_id']       = !empty($_POST['cat_id'])       ? intval($_POST['cat_id'])     : 0;
    $cat['parent_id']    = !empty($_POST['parent_id'])    ? intval($_POST['parent_id'])  : 0;
    $cat['sort_order']   = !empty($_POST['sort_order'])   ? intval($_POST['sort_order']) : 0;
    $cat['cat_desc']     = !empty($_POST['cat_desc'])     ? strval($_POST['cat_desc'])   : '';
    $cat['cat_name']     = !empty($_POST['cat_name'])     ? trim($_POST['cat_name'])     : '';
    $cat['is_show']      = !empty($_POST['is_show'])      ? intval($_POST['is_show'])    : 0;

    /* 入库的操作 */
    if ($db->autoExecute($ecs->table('gift_cat'), $cat) !== false)
    {
        $cat_id = $db->insert_id();

        admin_log($_POST['cat_name'], 'add', 'gift_cat');   // 记录管理员操作
        clear_cache_files();    // 清除缓存

        /*添加链接*/
        $link[0]['text'] = $_LANG['continue'].$_LANG['add'];
        $link[0]['href'] = 'gift_cat.php?act=add';

        $link[1]['text'] = $_LANG['gift_goods_cat_reutrn'];
        $link[1]['href'] = 'gift_cat.php?act=list';

        sys_msg($_LANG['gift_goods_cat_succed'], 0, $link);
    }
 }

/*------------------------------------------------------ */
//-- 编辑礼品分类信息
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'edit')
{
    admin_priv('cat_manage');   // 权限检查
    $cat_id = intval($_REQUEST['cat_id']);
    $cat_info = get_gift_cat_info($cat_id);  // 查询分类信息数据

    $smarty->assign('ur_here',     $_LANG['gift_goods_cat_edit']);
    $smarty->assign('action_link',  array('href' => 'gift_cat.php?act=list', 'text' => $_LANG['gift_goods_cat_reutrn']));

    $smarty->assign('cat_info',    $cat_info);
    $smarty->assign('form_act',    'update');

    /* 显示页面 */
    assign_query_info();
    $smarty->display('gift_cat_info.htm');
}

/*------------------------------------------------------ */
//-- 编辑礼品分类信息
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'update')
{
    /* 权限检查 */
    admin_priv('cat_manage');

    /* 初始化变量 */
    $cat_id              = !empty($_POST['cat_id'])       ? intval($_POST['cat_id'])     : 0;
    $old_cat_name        = $_POST['old_cat_name'];
    $cat['parent_id']    = !empty($_POST['parent_id'])    ? intval($_POST['parent_id'])  : 0;
    $cat['sort_order']   = !empty($_POST['sort_order'])   ? intval($_POST['sort_order']) : 0;
    $cat['cat_desc']     = !empty($_POST['cat_desc'])     ? strval($_POST['cat_desc'])   : '';
    $cat['cat_name']     = !empty($_POST['cat_name'])     ? strval($_POST['cat_name'])     : '';
    $cat['is_show']      = !empty($_POST['is_show'])      ? intval($_POST['is_show'])    : 0;

	$cat['last_update']  = gmtime();

    if ($db->autoExecute($ecs->table('gift_cat'), $cat, 'UPDATE', "cat_id='$cat_id'"))
    {
        /* 更新分类信息成功 */
        clear_cache_files(); // 清除缓存
        admin_log($_POST['cat_name'], 'edit', 'gift_cat'); // 记录管理员操作

        /* 提示信息 */
        $link[] = array('text' => $_LANG['gift_goods_cat_reutrn'], 'href' => 'gift_cat.php?act=list');
        sys_msg($_LANG['gift_goods_cat_edit_succed'], 0, $link);
    }
}

/*------------------------------------------------------ */
//-- 修改礼品分类名称
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'edit_cat_name')
{
    check_authz_json('cat_manage');

    $cat_id   = intval($_POST['id']);
    $cat_name = json_str_iconv(trim($_POST['val']));

    if ($exc->edit("cat_name = '$cat_name', last_update=" .gmtime(), $cat_id))
    {
        clear_cache_files();
        make_json_result(stripslashes($cat_name));
    }else{
		make_json_error($db->error());
	}
}

/*------------------------------------------------------ */
//-- 编辑排序序号
/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'edit_sort_order')
{
    check_authz_json('cat_manage');

    $cat_id  = intval($_POST['id']);
    $val	 = intval($_POST['val']);

    if ($exc->edit("sort_order = '$val', last_update=" .gmtime(), $cat_id))
    {
        clear_cache_files(); // 清除缓存
        make_json_result($val);
    }
    else
    {
        make_json_error($db->error());
    }
}

/*------------------------------------------------------ */
//-- 切换是否显示
/*------------------------------------------------------ */

if ($_REQUEST['act'] == 'toggle_is_show')
{
     check_authz_json('cat_manage');

    $id = intval($_POST['id']);
    $val = intval($_POST['val']);

    if (cat_update($id, array('is_show' => $val)) != false)
    {
        clear_cache_files();
        make_json_result($val);
    }
    else
    {
        make_json_error($db->error());
    }
}

/*------------------------------------------------------ */
//-- 删除礼品分类
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'remove')
{
    check_authz_json('cat_manage');

    /* 初始化分类ID并取得分类名称 */
    $cat_id   = intval($_GET['id']);
    $cat_name = $db->getOne('SELECT cat_name FROM ' .$ecs->table('gift_cat'). " WHERE cat_id='$cat_id'");

    /* 当前分类下是否存在商品 */
    $goods_count = $db->getOne('SELECT COUNT(*) FROM ' .$ecs->table('gift_goods'). " WHERE cat_id='$cat_id'");

    /* 如果不存在下级子分类和商品，则删除之 */
    if ($cat_count == 0 && $goods_count == 0)
    {
        /* 删除分类 */
        $sql = 'DELETE FROM ' .$ecs->table('gift_cat'). " WHERE cat_id = '$cat_id'";
        if ($db->query($sql))
        {
            clear_cache_files();
            admin_log($cat_name, 'remove', 'gift_cat');
        }
    }
    else
    {
        make_json_error($cat_name .' '. $_LANG['gift_goods_cat_cat_isleaf']);
    }

    $url = 'gift_cat.php?act=query&' . str_replace('act=remove', '', $_SERVER['QUERY_STRING']);

    ecs_header("Location: $url\n");
    exit;
}


/**
 * 获得礼品分类的详细信息
 *
 * @param   integer     $cat_id     指定的分类ID
 *
 * @return  mix
 */
function get_gift_cat_info($cat_id)
{
    $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('gift_cat'). " WHERE cat_id='$cat_id' LIMIT 1";
    return $GLOBALS['db']->getRow($sql);
}
/**
 * 获得礼品分类列表
 *
 */
function get_gift_cat_list()
{
	$sql = "SELECT * FROM " .$GLOBALS['ecs']->table('gift_cat'). " ORDER BY sort_order DESC,cat_id ASC";
    return $GLOBALS['db']->getAll($sql);

}

/**
 * 添加商品分类
 *
 * @param   integer $cat_id
 * @param   array   $args
 *
 * @return  mix
 */
function cat_update($cat_id, $args)
{
    if (empty($args) || empty($cat_id))
    {
        return false;
    }

    return $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('gift_cat'), $args, 'update', "cat_id='$cat_id'");
}






?>